#ifndef __HAL_LEDBOARD_H__
#define __HAL_LEDBOARD_H__

#include <stdint.h>

#define LED_FLOOR1_RCU					RCC_AHBPeriph_GPIOB
#define LED_FLOOR2_RCU					RCC_AHBPeriph_GPIOA


#define LED_FLOOR1_BASE					GPIOB
#define LED_FLOOR2_BASE					GPIOA

#define LED_FLOOR1_PIN					GPIO_Pin_12
#define LED_FLOOR2_PIN					GPIO_Pin_14
#define LED_FLOOR3_PIN					GPIO_Pin_15
#define LED_FLOOR4_PIN					GPIO_Pin_8
#define LED_FLOOR5_PIN					GPIO_Pin_11
#define LED_FLOOR6_PIN					GPIO_Pin_12

typedef struct floor_led_node {
	void *floor_base;
	uint16_t floor_pin;
}floor_led_node_t;

typedef struct {
	void (*init)(void);
	void (*led_ctrl)(uint8_t floor,uint8_t flag);
	void (*led_toggle)(uint8_t floor);
	void (*ledboard_open)(uint8_t floor);
}ledboard_floor_t;

extern const ledboard_floor_t g_floor_led_;

#endif //__HAL_LEDBOARD_H__
